/**
 * 
 */
package com.castbefore.padgettbusiness.business;

import java.util.List;

import com.google.appengine.api.users.User;

/**
 * @author andyleung
 *
 */
public abstract class Client extends BaseObject{
	protected User accountant;
	protected String remarks;
	protected List<Service> services;
	protected List<Invoice> invoices;
	
	public abstract Service addService(Service service);
	public abstract void removeService(Service service);
	public abstract void updateService(Service service);
	public abstract Service getService(String serviceId);
	public abstract List<Service> getAllServices(String sortColumn,boolean ascending);
	public abstract Invoice getInvoice(String invoiceId);
	public abstract List<Invoice> getAllInvoices(String sortColumn,boolean ascending);
	public abstract PaymentReceipt payInvoice(Invoice invoice, Payment payment);
	public User getAccountant() {
		return accountant;
	}
	public void setAccountant(User accountant) {
		this.accountant = accountant;
	}
	public String getRemarks() {
		return remarks;
	}
	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}
	
}
